package com.ys.多线程.p6线程常用方法3设置线程休眠;

/**
 * 描述:
 * 线程执行过程中暂停执行一段时间
 *
 * sleep(休眠时间) 该方法是一个静态方法，通过类名称直接调用。参数是一个long类型的整数，表示休眠的时间，单位：毫秒(1000毫秒等于1秒)
 *
 * 场景：创建一个线程，执行任务10次，当执行到第五次将当前线程休眠5000毫秒，休眠完毕继续执行任务体。
 *
 * @author CodeYang
 * @version 2021/1/5 0:43
 */
public class p1ThreadSleep休眠了解与使用 {


    /**
     * * 线程休眠
     *  * 场景：创建一个线程，执行任务10次，当执行到第五次将当前线程休眠5000毫秒，休眠完毕继续执行任务体。
     *  * 步骤：
     *  * 1 创建线程
     *  * 2 创建匿名内部类实现Runnable接口
     *  * 3 编写run方法体，执行到第五次进行休眠
     *  * 4 调用start方法启动线程
     * @param args
     */
    public static void main(String[] args) {

        new Thread(new Runnable() {
            @Override
            public void run() {
                try {


                for (int i = 0; i <10; i++) {
                    if (i==5){
                        /**
                         *     public static native void sleep(long millis) throws InterruptedException;
                         *     该方法定义时声明了throws InterruptedException异常，表示执行休眠过程中，线程可能会中断
                         */
                        System.out.println("线程休眠五秒");
                        Thread.sleep(5000);

                    }
                    System.out.println("线程变量:"+(i+1));
                }
                }catch (Exception e){
                    e.printStackTrace();
                }
            }
        }).start();
    }
}
